package com.asset.dispoal.business.idcardrefresh.domain.db.mapper;

import com.asset.dispoal.business.bsEvidenceRecognition.dto.EvidenceMatchHistoryRequest;
import com.asset.dispoal.business.bsEvidenceRecognition.dto.IdCardRefreshHistoryCaseRequest;
import com.asset.dispoal.business.bsEvidenceRecognition.dto.IdCardRefreshHistoryCaseResponse;
import com.asset.dispoal.business.bsEvidenceRecognition.dto.IdCardRefreshHistoryResponse;
import com.asset.dispoal.business.idcardrefresh.domain.db.entity.IdCardRefresh;
import com.asset.dispoal.business.idcardrefresh.domain.dto.IdCardRefreshHistoryCaseDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tech.mhuang.pacebox.springboot.protocol.data.Page;

import java.util.List;
import java.util.Set;

@Mapper
public interface IdCardRefreshMapper {
    Integer insert(IdCardRefresh idCardRefresh);

    Integer insertCase(@Param("id") String id, @Param("caseIdList") Set<String> caseList);

    Integer updateState(@Param("id") String requestKey, @Param("state") String state);

    Integer updateCaseResult(@Param("id") String requestKey, @Param("caseId") String caseId, @Param("result") String result);

    int queryCountIdCardHistory(EvidenceMatchHistoryRequest evidenceMatchHistoryRequest);

    List<IdCardRefreshHistoryResponse> queryPageIdCardHistory(Page<EvidenceMatchHistoryRequest> page);

    int queryCountIdCardHistoryCase(IdCardRefreshHistoryCaseRequest request);

    List<IdCardRefreshHistoryCaseResponse> queryPageIdCardHistoryCase(Page<IdCardRefreshHistoryCaseRequest> page);

    List<IdCardRefreshHistoryCaseDTO> queryNoCardHistoryCaseDTO(String historyId);

}
